package com.ruoyi.repair.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 设备维修记录对象 equipment_repair
 * 
 * @author ruoyi
 * @date 2025-05-03
 */
public class EquipmentRepair extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 维修单号 */
    private String repairId;

    /** 设备ID */
    @Excel(name = "设备ID")
    private Long equipmentId;

    /** 故障类型(机械故障,电气故障,软件故障,人为损坏,自然老化) */
    @Excel(name = "故障类型(机械故障,电气故障,软件故障,人为损坏,自然老化)")
    private String faultType;

    /** 故障描述 */
    @Excel(name = "故障描述")
    private String faultDescription;

    /** 报修人 */
    @Excel(name = "报修人")
    private String reporter;

    /** 报修时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报修时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reportTime;

    /** 维修状态(待受理,维修中,已修复,无法修复) */
    @Excel(name = "维修状态(待受理,维修中,已修复,无法修复)")
    private String repairStatus;

    /** 维修负责人 */
    @Excel(name = "维修负责人")
    private String repairPerson;

    /** 开始维修时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始维修时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date completeTime;

    /** 维修费用 */
    @Excel(name = "维修费用")
    private BigDecimal repairCost;

    /** 解决方案 */
    @Excel(name = "解决方案")
    private String solution;

    /** 更换零件 */
    @Excel(name = "更换零件")
    private String partsReplaced;

    /** 维修备注 */
    @Excel(name = "维修备注")
    private String repairNotes;

    /** 设备图片 */
    @Excel(name = "设备图片")
    private String equipmentImg;

    public void setRepairId(String repairId) 
    {
        this.repairId = repairId;
    }

    public String getRepairId() 
    {
        return repairId;
    }
    public void setEquipmentId(Long equipmentId)
    {
        this.equipmentId = equipmentId;
    }

    public Long getEquipmentId()
    {
        return equipmentId;
    }
    public void setFaultType(String faultType) 
    {
        this.faultType = faultType;
    }

    public String getFaultType() 
    {
        return faultType;
    }
    public void setFaultDescription(String faultDescription) 
    {
        this.faultDescription = faultDescription;
    }

    public String getFaultDescription() 
    {
        return faultDescription;
    }
    public void setReporter(String reporter) 
    {
        this.reporter = reporter;
    }

    public String getReporter() 
    {
        return reporter;
    }
    public void setReportTime(Date reportTime) 
    {
        this.reportTime = reportTime;
    }

    public Date getReportTime() 
    {
        return reportTime;
    }
    public void setRepairStatus(String repairStatus) 
    {
        this.repairStatus = repairStatus;
    }

    public String getRepairStatus() 
    {
        return repairStatus;
    }
    public void setRepairPerson(String repairPerson) 
    {
        this.repairPerson = repairPerson;
    }

    public String getRepairPerson() 
    {
        return repairPerson;
    }
    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }
    public void setCompleteTime(Date completeTime) 
    {
        this.completeTime = completeTime;
    }

    public Date getCompleteTime() 
    {
        return completeTime;
    }
    public void setRepairCost(BigDecimal repairCost) 
    {
        this.repairCost = repairCost;
    }

    public BigDecimal getRepairCost() 
    {
        return repairCost;
    }
    public void setSolution(String solution) 
    {
        this.solution = solution;
    }

    public String getSolution() 
    {
        return solution;
    }
    public void setPartsReplaced(String partsReplaced) 
    {
        this.partsReplaced = partsReplaced;
    }

    public String getPartsReplaced() 
    {
        return partsReplaced;
    }
    public void setRepairNotes(String repairNotes) 
    {
        this.repairNotes = repairNotes;
    }

    public String getRepairNotes() 
    {
        return repairNotes;
    }
    public void setEquipmentImg(String equipmentImg) 
    {
        this.equipmentImg = equipmentImg;
    }

    public String getEquipmentImg() 
    {
        return equipmentImg;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("repairId", getRepairId())
            .append("equipmentId", getEquipmentId())
            .append("faultType", getFaultType())
            .append("faultDescription", getFaultDescription())
            .append("reporter", getReporter())
            .append("reportTime", getReportTime())
            .append("repairStatus", getRepairStatus())
            .append("repairPerson", getRepairPerson())
            .append("startTime", getStartTime())
            .append("completeTime", getCompleteTime())
            .append("repairCost", getRepairCost())
            .append("solution", getSolution())
            .append("partsReplaced", getPartsReplaced())
            .append("repairNotes", getRepairNotes())
            .append("equipmentImg", getEquipmentImg())
            .toString();
    }
}
